home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / share / maxima / 5.9.0 / demo / ezgcd.dem < prev    next >
Encoding:
Text File  |  2003-02-09  |  5.8 KB  |  377 lines

  1. /* ============================================================== */
  2. /* file: ezgcd.dem   */
  3. /*  execution Ok,  up to the command commentified :  <--------- loop! loop! */
  4. /*  Very long or loop, I don't know ? Is it due to GC problem ???    */
  5.  
  6. NOLABELS:TRUE$
  7. TIME:ALL$
  8. /* THIS IS THE RUN FOR CASE 1 OF EZ GCD PAPER. */
  9.  
  10.  D:RAT(U+Y+1,Y)$
  11.  F:(-2+D)*(U+Y+2)$
  12.  G:D*(U^2-3*U*Y^2-1)^2$
  13. EZGCDSWITCH:TRUE$
  14.  GCDSWITCH:FALSE$
  15.  GCD(F,G);
  16. EZGCDSWITCH:FALSE$
  17.  GCD(F,G);
  18.  GCDSWITCH:TRUE$
  19.  GCD(F,G);
  20.  
  21.  D:RAT(A+U+Y+1,Y)$
  22.  F:(-2+D)*(A+U+Y+2)$
  23.  G:D*(U^2-3*U*Y^2-1)^2$
  24. EZGCDSWITCH:TRUE$
  25.  GCDSWITCH:FALSE$
  26.  GCD(F,G);
  27. EZGCDSWITCH:FALSE$
  28.  GCD(F,G);
  29.  GCDSWITCH:TRUE$
  30.  GCD(F,G);
  31.  
  32.  D:RAT(B+A+U+Y+1,Y)$
  33.  F:(-2+D)*(B+A+U+Y+2)$
  34.  G:D*(U^2-3*U*Y^2-1)^2$
  35. EZGCDSWITCH:TRUE$
  36.  GCDSWITCH:FALSE$
  37.  GCD(F,G);
  38. EZGCDSWITCH:FALSE$
  39.  GCD(F,G);
  40.  GCDSWITCH:TRUE$
  41.  GCD(F,G);
  42.  
  43.  D:RAT(C+B+A+U+Y+1,Y)$
  44.  F:(-2+D)*(C+B+A+U+Y+2)$
  45.  G:D*(U^2-3*U*Y^2-1)^2$
  46. EZGCDSWITCH:TRUE$
  47.  GCDSWITCH:FALSE$
  48.  GCD(F,G);
  49. EZGCDSWITCH:FALSE$
  50.  GCD(F,G);
  51.  GCDSWITCH:TRUE$
  52.  GCD(F,G);
  53.  
  54.  
  55.  
  56.  
  57.  
  58. /* THIS IS THE RUN FOR CASE 2. TABLE 1 OF EZ GCD PAPER */
  59.  
  60.  N:2$
  61.  D:Z^N+Y^N+1$
  62.  F:RAT(D*(Z^N+Y^N-2))$
  63.  G:RAT(D*(Z^N+Y^N+2))$
  64. EZGCDSWITCH:TRUE$
  65.  GCDSWITCH:FALSE$
  66.  GCD(F,G);
  67. EZGCDSWITCH:FALSE$
  68.  GCD(F,G);
  69.  GCDSWITCH:TRUE$
  70.  GCD(F,G);
  71.  
  72.  N:3$
  73.  D:Z^N+X^N+Y^N+1$
  74.  F:RAT(D*(Z^N+X^N+Y^N-2))$
  75.  G:RAT((Z^N+X^N-Y^N+2)*D)$
  76. EZGCDSWITCH:TRUE$
  77.  GCDSWITCH:FALSE$
  78.  GCD(F,G);
  79. EZGCDSWITCH:FALSE$
  80.  GCD(F,G);
  81.  GCDSWITCH:TRUE$
  82.  GCD(F,G);
  83.  
  84.  N:4$
  85.  D:A^N+Z^N+X^N+Y^N+1$
  86.  F:RAT(D*(A^N+Z^N+X^N+Y^N-2))$
  87.  G:RAT((A^N+Z^N+X^N-Y^N+2)*D)$
  88. EZGCDSWITCH:TRUE$
  89.  GCDSWITCH:FALSE$
  90.  GCD(F,G);
  91. EZGCDSWITCH:FALSE$
  92.  GCD(F,G);
  93.  GCDSWITCH:TRUE$
  94.  GCD(F,G);
  95.  
  96.  N:5$
  97.  D:B^N+A^N+Z^N+X^N+Y^N+1$
  98.  F:RAT(D*(B^N+A^N+Z^N+X^N+Y^N-2))$
  99.  G:RAT((B^N+A^N+Z^N+X^N-Y^N+2)*D)$
  100. EZGCDSWITCH:TRUE$
  101.  GCDSWITCH:FALSE$
  102.  GCD(F,G);
  103. EZGCDSWITCH:FALSE$
  104.  GCD(F,G);
  105.  
  106.  N:6$
  107.  D:C^N+B^N+A^N+Z^N+X^N+Y^N+1$
  108.  F:RAT(D*(C^N+B^N+A^N+Z^N+X^N+Y^N-2))$
  109.  G:RAT((C^N+B^N+A^N+Z^N+X^N-Y^N+2)*D)$
  110. EZGCDSWITCH:TRUE$
  111.  GCDSWITCH:FALSE$
  112.  GCD(F,G);
  113. EZGCDSWITCH:FALSE$
  114.  GCD(F,G);
  115.  
  116.  N:7$
  117.  D:P^N+C^N+B^N+A^N+Z^N+X^N+Y^N+1$
  118.  F:RAT(D*(P^N+C^N+B^N+A^N+Z^N+X^N+Y^N-2))$
  119.  G:RAT((P^N+C^N+B^N+A^N+Z^N+X^N-Y^N+2)*D)$
  120. EZGCDSWITCH:TRUE$
  121.  GCDSWITCH:FALSE$
  122.  GCD(F,G);
  123. EZGCDSWITCH:FALSE$
  124.  GCD(F,G);
  125.  
  126.  
  127.  
  128.  
  129.  
  130. /* THIS IS THE RUN FOR CASE 2, TABLE 2 OF EZGCD PAPER */
  131.  
  132.  N:2$
  133.  D:Z^N+Y^N+1$
  134.  F:RAT(D*(Z^N+Y^N-2))$
  135.  G:RAT(D*(Z^(N-1)+Y^(N-1)+2))$
  136. EZGCDSWITCH:TRUE$
  137.  GCDSWITCH:FALSE$
  138.  GCD(F,G);
  139. EZGCDSWITCH:FALSE$
  140.  GCD(F,G);
  141.  GCDSWITCH:TRUE$
  142.  GCD(F,G);
  143.  
  144.  N:3$
  145.  D:Z^N+X^N+Y^N+1$
  146.  F:RAT(D*(Z^N+X^N+Y^N-2))$
  147.  G:RAT((Z^(N-1)+X^(N-1)-Y^(N-1)+2)*D)$
  148. EZGCDSWITCH:TRUE$
  149.  GCDSWITCH:FALSE$
  150.  GCD(F,G);
  151. EZGCDSWITCH:FALSE$
  152.  GCD(F,G);
  153.  GCDSWITCH:TRUE$
  154.  GCD(F,G);
  155.  
  156.  N:4$
  157.  D:A^N+Z^N+X^N+Y^N+1$
  158.  F:RAT(D*(A^N+Z^N+X^N+Y^N-2))$
  159.  G:RAT((A^(N-1)+Z^(N-1)+X^(N-1)-Y^(N-1)+2)*D)$
  160. EZGCDSWITCH:TRUE$
  161.  GCDSWITCH:FALSE$
  162.  GCD(F,G);
  163. EZGCDSWITCH:FALSE$
  164.  GCD(F,G);
  165.  GCDSWITCH:TRUE$
  166.  GCD(F,G);
  167.  
  168.  N:5$
  169.  D:B^N+A^N+Z^N+X^N+Y^N+1$
  170.  F:RAT(D*(B^N+A^N+Z^N+X^N+Y^N-2))$
  171.  G:RAT((B^(N-1)+A^(N-1)+Z^(N-1)+X^(N-1)-Y^(N-1)+2)*D)$
  172. EZGCDSWITCH:TRUE$
  173.  GCDSWITCH:FALSE$
  174.  
  175. GCD(F,G);
  176.  N:6$
  177.  D:C^N+B^N+A^N+Z^N+X^N+Y^N+1$
  178.  F:RAT(D*(C^N+B^N+A^N+Z^N+X^N+Y^N-2))$
  179.  G:RAT((C^(N-1)+B^(N-1)+A^(N-1)+Z^(N-1)+X^(N-1)-Y^(N-1)+2)*D)$
  180.  GCD(F,G);
  181.  
  182.  N:7$
  183.  D:P^N+C^N+B^N+A^N+Z^N+X^N+Y^N+1$
  184.  F:RAT(D*(P^N+C^N+B^N+A^N+Z^N+X^N+Y^N-2))$
  185.  G:RAT((P^(N-1)+C^(N-1)+B^(N-1)+A^(N-1)+Z^(N-1)+X^(N-1)-Y^(N-1)
  186. +2)*D)$
  187.  GCD(F,G);  /*   <-------------- loop! loop!  */
  188.  
  189. /* I let the rest of file */
  190.  
  191.  
  192.  
  193. /* THIS IS THE RUN FOR CASE 3 OF THE EZ GCD PAPER */
  194.  
  195.  D:RAT(X^2*Y^2+1)$
  196.  F:D*(X*Y+2)^2$
  197.  G:(X^2-Y^2-1)*D$
  198. EZGCDSWITCH:TRUE$
  199.  GCDSWITCH:FALSE$
  200.  GCD(F,G);
  201. EZGCDSWITCH:FALSE$
  202.  GCD(F,G);
  203.  GCDSWITCH:TRUE$
  204.  GCD(F,G);
  205.  
  206.  D:RAT(A^2+X^2*Y^2+1)$
  207.  F:D*(X*Y+A+2)^2$
  208.  G:(A^2+X^2-Y^2-1)*D$
  209. EZGCDSWITCH:TRUE$
  210.  GCDSWITCH:FALSE$
  211.  GCD(F,G);
  212. EZGCDSWITCH:FALSE$
  213.  GCD(F,G);
  214.  GCDSWITCH:TRUE$
  215.  GCD(F,G);
  216.  
  217.  D:RAT(B^2+A^2+X^2*Y^2+1)$
  218.  F:D*(X*Y+A+B+2)^2$
  219.  G:(B^2+A^2+X^2-Y^2-1)*D$
  220. EZGCDSWITCH:TRUE$
  221.  GCDSWITCH:FALSE$
  222.  GCD(F,G);
  223. EZGCDSWITCH:FALSE$
  224.  GCD(F,G);
  225.  GCDSWITCH:TRUE$
  226.  GCD(F,G);
  227.  
  228.  D:RAT(C^2+B^2+A^2+X^2*Y^2+1)$
  229.  F:D*(X*Y+A+B+C+2)^2$
  230.  G:(C^2+B^2+A^2+X^2-Y^2-1)*D$
  231. EZGCDSWITCH:TRUE$
  232.  GCDSWITCH:FALSE$
  233.  GCD(F,G);
  234. EZGCDSWITCH:FALSE$
  235.  GCD(F,G);
  236.  GCDSWITCH:TRUE$
  237.  GCD(F,G);
  238.  
  239.  
  240.  
  241.  
  242.  
  243. /* THIS IS THE RUN FOR CASE 4 OF THE EZ GCD PAPER */
  244.  
  245.  KILL(ALL)$
  246.  M:1$
  247.  N:2$
  248.  A:Z-X*Y+1$
  249.  B:Z+3*X-Y$
  250.  F:RAT(A^M*B^N)$
  251.  G:RAT(A^N*B^M)$
  252.  
  253. EZGCDSWITCH:TRUE$
  254.  GCDSWITCH:FALSE$
  255.  GCD(F,G);
  256. EZGCDSWITCH:FALSE$
  257.  
  258.  GCD(F,G);
  259.  GCDSWITCH:TRUE$
  260.  
  261.  GCD(F,G);
  262. EZGCDSWITCH:TRUE$
  263.  GCDSWITCH:FALSE$
  264.  
  265.  KILL(ALL)$
  266.  M:1$
  267.  N:3$
  268.  A:Z-X*Y+1$
  269.  B:Z+3*X-Y$
  270.  F:RAT(A^M*B^N)$
  271.  G:RAT(A^N*B^M)$
  272.  
  273.  GCD(F,G);
  274. EZGCDSWITCH:FALSE$
  275.  
  276.  GCD(F,G);
  277.  GCDSWITCH:TRUE$
  278.  
  279.  GCD(F,G);
  280. EZGCDSWITCH:TRUE$
  281.  GCDSWITCH:FALSE$
  282.  
  283.  KILL(ALL)$
  284.  M:1$
  285.  N:4$
  286.  A:Z-X*Y+1$
  287.  B:Z+3*X-Y$
  288.  F:RAT(A^M*B^N)$
  289.  G:RAT(A^N*B^M)$
  290.  
  291.  GCD(F,G);
  292. EZGCDSWITCH:FALSE$
  293.  
  294.  GCD(F,G);
  295.  GCDSWITCH:TRUE$
  296.  GCD(F,G);
  297. EZGCDSWITCH:TRUE$
  298.  GCDSWITCH:FALSE$
  299.  
  300.  KILL(ALL)$
  301.  M:2$
  302.  N:4$
  303.  A:Z-X*Y+1$
  304.  B:Z+3*X-Y$
  305.  F:RAT(A^M*B^N)$
  306.  G:RAT(A^N*B^M)$
  307.  
  308.  GCD(F,G);
  309. EZGCDSWITCH:FALSE$
  310.  
  311.  GCD(F,G);
  312.  GCDSWITCH:TRUE$
  313.  
  314.  GCD(F,G);
  315. EZGCDSWITCH:TRUE$
  316.  GCDSWITCH:FALSE$
  317.  
  318.  
  319.  
  320. /* THIS IS THE RUN FOR CASE 5 OF THE EZ GCD PAPER */
  321.  KILL(ALL)$
  322.  D:RAT((Z+1)*(Y+1)-3)$
  323.  F:D*(Z-2)*(Y-2)$
  324.  G:D*(Z+2)*(Y+2)$
  325.  
  326.  GCD(F,G);
  327. EZGCDSWITCH:FALSE$
  328.  
  329.  GCD(F,G);
  330.  GCDSWITCH:TRUE$
  331.  
  332.  GCD(F,G);
  333. EZGCDSWITCH:TRUE$
  334.  GCDSWITCH:FALSE$
  335.  KILL(ALL)$
  336.  D:RAT((Z+1)*(Y+1)*(X+1)-3)$
  337.  F:D*(Z-2)*(Y-2)*(X-2)$
  338.  G:D*(Z+2)*(Y+2)*(X+2)$
  339.  
  340.  GCD(F,G);
  341. EZGCDSWITCH:FALSE$
  342.  
  343.  GCD(F,G);
  344.  GCDSWITCH:TRUE$
  345.  
  346.  GCD(F,G);
  347. EZGCDSWITCH:TRUE$
  348.  GCDSWITCH:FALSE$
  349.  KILL(ALL)$
  350.  D:RAT((Z+1)*(Y+1)*(X+1)*(A+1)-3)$
  351.  F:D*(Z-2)*(Y-2)*(X-2)*(A-2)$
  352.  G:D*(Z+2)*(Y+2)*(X+2)*(A+2)$
  353.  
  354.  GCD(F,G);
  355. EZGCDSWITCH:FALSE$
  356.  
  357.  GCD(F,G);
  358.  GCDSWITCH:TRUE$
  359.  
  360.  GCD(F,G);
  361. EZGCDSWITCH:TRUE$
  362.  GCDSWITCH:FALSE$
  363.  KILL(ALL)$
  364.  D:RAT((Z+1)*(Y+1)*(X+1)*(A+1)*(B+1)-3)$
  365.  F:D*(Z-2)*(Y-2)*(X-2)*(A-2)*(B-2)$
  366.  G:D*(Z+2)*(Y+2)*(X+2)*(A+2)*(B+2)$
  367.  
  368.  GCD(F,G);
  369. EZGCDSWITCH:FALSE$
  370.  
  371.  GCD(F,G);
  372.  GCDSWITCH:TRUE$
  373.  
  374.  GCD(F,G);
  375. EZGCDSWITCH:TRUE$
  376.  GCDSWITCH:FALSE$
  377.